這禮拜預計要跟mentor進行code review我的js17 Q1~Q5,得先來複習一下,怕被問到答不出來會很囧,第一個先來看try...catch這個我從學長姐那觀摩學來的用法
例外
並非只有錯誤,可以客製化我們要對該例外的描述,透過更口語化的訊息,讓使用者清楚明瞭並加以改正。以下擷取MDN範例
throw "Error2"; // 字串形態
throw 42; // 數字形態
throw true; // True/False
throw {
toString: function () {
return "我是物件!";
},
};
try{
要做的事
} catch(e) {
例外處理
}
以下同樣引述MDN範例
您可以使用 finally 區塊來使腳本在發生例外時正常地結束。例如,您可能需要釋放腳本中綁定的資源。 在以下示例中,打開一個文件,然後執行使用該文件的陳述式(伺服器端 JavaScript 允許您訪問文件)。 如果在打開文件時拋出例外,finally 區塊會在腳本結束之前關閉文件。
openMyFile();
try {
writeMyFile(theData); // 可能產生例外
} catch (e) {
handleError(e); // 處理可能發生的例外
} finally {
closeMyFile(); // 總是在 try 結束後關閉檔案
}
main()
function main() {
const input = prompt('你好,請問你幾歲?')
try {
isRequiredInput(input)
isInteger(input);
isNegative(input);
...//其他需執行程式
} catch (error) {
console.log(error.message);
return main()
}
}
function isRequiredInput(value) {
if (value === "") {
throw new Error("未輸入喔!")
}
}
function isInteger(number) {
if (!Number.isInteger(+number)) {
throw new Error("請輸入整數阿拉伯數字喔!");
}
}
function isNegative(number) {
if (+number < 0) {
throw new Error("不能小於0啦")
}
}
相對應錯誤訊息回覆如下:
如此一來,使用者就可以很清楚知道錯誤在哪,可增加使用者體驗。
工作上的學習最讓我印象深刻的就是excel,當時什麼都不會的我,就是趕快學著依樣畫葫蘆的把每天的報表分析生出來,尚無時間理解箇中奧妙,但至少能先應付眼前的工作,因為這個方法還算有效,所以來這自學解任務,當沒有方向時,我也會選擇先看一下學長姐的檔案,讓自己有個底,之後在打造超人系列的書裡也看到類似的學習方式,才知道原來這就是所謂的肌肉學習,我覺得對於初學者來說,這招蠻有效的,而且可以降低挫折感。try...catch也是我這樣看來的,以前從來沒有看過這個語法,同樣的,對它的體會還不是很深刻,但至少先會用了。
努力看完天書後,來點輕鬆的吧!分享我兒子的童言童語,調劑身心一下
2021/09/28
每天上學的路上,
他都會聽到廣播說:早安,8點囉!今天又是美好的一天。
今天星期六⋯
咖咖:Ya!今天不是美好的一天,我要回阿媽家了!